package com.chuanke.ckfamily.service.common;

import java.io.IOException;
import java.util.Map;

import com.chuanke.ckfamily.dao.common.model.Tips;
import com.chuanke.ckfamily.dao.user.model.User;
import com.chuanke.ckfamily.service.exception.CFException;
import com.weijie.core.IBaseBiz;

import freemarker.core.ParseException;
import freemarker.template.MalformedTemplateNameException;
import freemarker.template.TemplateException;
import freemarker.template.TemplateNotFoundException;

public interface TipsService extends IBaseBiz<Tips> {
	/**
	 * 获取家族收益提示
	 * 
	 * @return
	 * @throws TemplateNotFoundException
	 * @throws MalformedTemplateNameException
	 * @throws ParseException
	 * @throws IOException
	 * @throws TemplateException
	 */
	String getFamilyIncomeTips() throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	/**
	 * 获取家族红包提示
	 * 
	 * @return
	 * @throws TemplateNotFoundException
	 * @throws MalformedTemplateNameException
	 * @throws ParseException
	 * @throws IOException
	 * @throws TemplateException
	 */
	String getFamilyRedpacketTips() throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	/**
	 * 获取族长分成提示
	 * 
	 * @return
	 * @throws TemplateNotFoundException
	 * @throws MalformedTemplateNameException
	 * @throws ParseException
	 * @throws IOException
	 * @throws TemplateException
	 */
	String getLeaderIncomeTips() throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	/**
	 * 获取族长上线分成提示
	 * 
	 * @return
	 * @throws TemplateNotFoundException
	 * @throws MalformedTemplateNameException
	 * @throws ParseException
	 * @throws IOException
	 * @throws TemplateException
	 */
	String getLeaderSuperIncomeTips() throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	/**
	 * 获取红包规则提示
	 * 
	 * @return
	 * @throws TemplateNotFoundException
	 * @throws MalformedTemplateNameException
	 * @throws ParseException
	 * @throws IOException
	 * @throws TemplateException
	 */
	String getRedpackageRuleTips() throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	/**
	 * 发送家族红包余额提示
	 * 
	 * @param money
	 *            余额
	 * @param packateMoney
	 *            每包金额
	 * @param packateNum
	 *            可包数量
	 * @return
	 * @throws TemplateNotFoundException
	 * @throws MalformedTemplateNameException
	 * @throws ParseException
	 * @throws IOException
	 * @throws TemplateException
	 */

	String getSendRedpackage(Long money, Long packateMoney, Long packateNum) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	String getSendRedpackage(Long money) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	/**
	 * 发送族长红包提示
	 * 
	 * @param money
	 *            余额
	 * @param userNum
	 *            家族成员数量
	 * @return
	 * @throws TemplateNotFoundException
	 * @throws MalformedTemplateNameException
	 * @throws ParseException
	 * @throws IOException
	 * @throws TemplateException
	 */
	String getSendRedpackage(Long money, Integer userNum) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	/**
	 * 获取创建家族提示
	 * 
	 * @return
	 * @throws TemplateNotFoundException
	 * @throws MalformedTemplateNameException
	 * @throws ParseException
	 * @throws IOException
	 * @throws TemplateException
	 */
	String getCreateFamily() throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	String getTemplate(Integer code, Map<String, Object> param) throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	Map<String, String> getHelpUrl() throws IOException;

	String getLeader_know() throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException, TemplateException;

	String getShield(boolean isOwner);

}